// pages/shopping/shopping.js
import {request} from '../../util/request'
import { store } from '../../store/store';
import {createStoreBindings} from 'mobx-miniprogram-bindings'


Page({

    /**
     * 页面的初始数据
     */
    data: {
        commodityList: [],
        Selected_product:[],//已选商品
        Delivery_fee: 0, //配送费
        amount: 0, //合计
        state:false,
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad:function(options) {
        const token = wx.getStorageSync("token")
        console.log(token)
        request({url:'http://localhost:8000/api/wechat/all',
        method:'get'}).then(res=>{
            request({
                url:'http://localhost:8000/api/wxorders/que',
            method:'get',
            data:{
                useid:res.data.data.openid,
            }
            }).then(res=>{
                this.setData({
                    commodityList:res.data.data
                })
                console.log(res.data.data,"--------")
            })
        })
        // let result = 0;
        this.setData({
            commodityList: this.data.commodityList.map((item) => {
                item.show = false
                // console.log(item.show)
                // result += item.show ? item.unit_price * item.num : 0
                return item
            }),
            // amount:result
        })

        this.storeBindings = createStoreBindings(this,{
            store,
            fields:['Selected_product','Total'],
            action:['Selected_product_List','TotalList']
        })
    },
    //选择框 
    onAction(ev) {
        let result = 0;
            let aa=this.data.commodityList.map((item) => {
                if (item.id == ev.currentTarget.dataset.id) {
                    // console.log(item.show);
                    if (item.show == false) {
                        
                        item.show = true
                        this.data.Selected_product.push(item)
                    } else {
                        item.show = false
                        this.data.Selected_product= this.data.Selected_product.filter(function(item) {
                            console.log(item);
                            return item.show != false
                        })
                    }
                }  
                result += item.show ? item.unit_price * item.num : 0
                return item
            })
            this.setData({
                commodityList:aa,
                amount: result,
                Selected_product:this.data.Selected_product
            })
    },
    // 步进器
    onChange(value) {
        let result = 0;
        this.setData({
            commodityList: this.data.commodityList.map((item) => {
                if (item.id == value.currentTarget.dataset.id) {
                    item.num = value.detail
                }
                result += item.show ? item.unit_price * item.num : 0
                return item
            }),
            amount: result
        })       
    },

    // 全选
    selectAction(ev){
            let result = 0;
            this.setData({
                commodityList: this.data.commodityList.map((item) => {
                    if (ev.detail.value.length!==0) {
                       item.show = true 
                    }else{
                        item.show = false 
                    }     
                    // console.log(item.show)
                    result += item.show ? item.unit_price * item.num : 0
                    return item
                }),
                amount:result
            })
        
    },

    // 结算
    btnAction(ev){
        console.log(this.data.Selected_product);
        if (this.data.Selected_product.length !=0) {
            store.Selected_product_List(this.data.Selected_product)
            store.TotalList(this.data.amount)
          wx.navigateTo({
          url: `/pages/order/order`,
          success:(res)=>{
              console.log(res);
          },
          fail:(res)=>{
            console.log(res);
          }
        })  
        }
        
    },


    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {
        this.storeBindings.destroyStoreBindings();
    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})